/**
 * 
 */
package es.ucm.is.www.map;

/** Clase que define el tipo de terreno Desierto. Hereda de la clase
 * padre TerrainCell.
 * 
 * @author Pablo
 *
 */
public class DesertCell extends TerrainCell implements Cloneable{

	
	/** Constructor para la clase, se encarga de establecer las coordenadas y
	 * el tipo de celda.
	 * @param id Tipo de Celda
	 * @param XCoord Coordenada X
	 * @param YCoord Coordenada Y
	 */
	public DesertCell(int XCoord, int YCoord) {
		super(MapManager.ID_DESERT, XCoord, YCoord);
		isForest=false;startCutDown=0;moneyCutDown=0;
	}
	
	/** Constructor, se encarga de construir la clase, tan solo con el tipo
	 * de celda.
	 * @param id tipo de celda
	 */
	public DesertCell() {
		super(MapManager.ID_DESERT);
		isForest=false;startCutDown=0;moneyCutDown=0;
	}
	
	public void makeForest(long tsStart,long money) {}
	
	/**
	 * <p>Implementa el metodo clone para duplicar objetos de tipo DesertCell.</p>
	 * @return El nuevo objeto generado.
	 * @see Object.clone()
	 */
	public Object clone() {
		TerrainCell ed;
		ed= new DesertCell(this.getXCoord(),this.getYCoord());
		ed.setId(getId());ed.setDefenceMod(getDefenceMod());ed.setFoodProd(getFoodProd());ed.setHasCity(getHasCity());
		ed.isForest=isForest;ed.setMineralProd(getMineralProd());ed.setSpeedMod(getSpfloateedMod());
		ed.setVillagerAsigned(getVillagerAsigned());ed.setOilProd(getOilProd());ed.setUraniumProd(getUraniumProd());
		ed.startCutDown=startCutDown;ed.moneyCutDown=moneyCutDown;ed.setCityPerimeter(getCityPerimeter());
		return ed;
	}
}